package org.piaohao.util.string;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * json封装类 Created on : 2013-5-3, 15:11:09
 *
 * @author piaohao
 */
public class JsonUtil {

    /**
     * 向客户端返回成功与失败的json，也可以通过extMap添加额外的字段
     *
     * @param status 成功true，失败false
     * @param msg 信息
     * @param extMap 额外的字段
     * @return
     */
    public static Map<Object, Object> printSuccess(boolean status, String msg, Map... extMap) {
        try {
            Map<Object, Object> map = new HashMap<Object, Object>();
            map.put("success", status);
            map.put("msg", msg);
            for (int i = 0; i < extMap.length; i++) {
                map.putAll(extMap[i]);
            }
            return map;
        } catch (Exception e) {
            System.err.println(e);
            return null;
        }
    }

    /**
     * 向客户端返回EXTJS表格的json，也可以通过extMap添加额外的字段
     *
     * @param total 总记录数
     * @param data 记录列表，通常为list
     * @param extMap 额外的字段
     * @return
     */
    public static Map<Object, Object> printGrid(Long total, List data, Map... extMap) {
        try {
            Map<Object, Object> map = new HashMap<Object, Object>();
            map.put("total", total);
            map.put("data", data);
            for (int i = 0; i < extMap.length; i++) {
                map.putAll(extMap[i]);
            }
            return map;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }

    }
}
